# encoding: utf-8
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models

class Migration(SchemaMigration):

    def forwards(self, orm):
        
        # Adding model 'Usuario'
        db.create_table('usuarios_usuario', (
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
            ('nome', self.gf('django.db.models.fields.CharField')(max_length=255)),
            ('usuario', self.gf('django.db.models.fields.CharField')(unique=True, max_length=255)),
            ('senha', self.gf('django.db.models.fields.CharField')(max_length=255)),
            ('ativo', self.gf('django.db.models.fields.BooleanField')(default=True)),
            ('superusuario', self.gf('django.db.models.fields.BooleanField')(default=False)),
            ('grupo', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['usuarios.Grupo'], null=True, blank=True)),
            ('data_criacao', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
            ('ultimo_acesso', self.gf('django.db.models.fields.DateTimeField')(null=True)),
            ('user_responsavel', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['usuarios.Usuario'])),
        ))
        db.send_create_signal('usuarios', ['Usuario'])

        # Adding M2M table for field permissoes on 'Usuario'
        db.create_table('usuarios_usuario_permissoes', (
            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
            ('usuario', models.ForeignKey(orm['usuarios.usuario'], null=False)),
            ('permissao', models.ForeignKey(orm['usuarios.permissao'], null=False))
        ))
        db.create_unique('usuarios_usuario_permissoes', ['usuario_id', 'permissao_id'])

        # Adding model 'Grupo'
        db.create_table('usuarios_grupo', (
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
            ('nome', self.gf('django.db.models.fields.CharField')(max_length=255)),
            ('user_responsavel', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['usuarios.Usuario'])),
        ))
        db.send_create_signal('usuarios', ['Grupo'])

        # Adding M2M table for field permissoes on 'Grupo'
        db.create_table('usuarios_grupo_permissoes', (
            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
            ('grupo', models.ForeignKey(orm['usuarios.grupo'], null=False)),
            ('permissao', models.ForeignKey(orm['usuarios.permissao'], null=False))
        ))
        db.create_unique('usuarios_grupo_permissoes', ['grupo_id', 'permissao_id'])

        # Adding model 'Permissao'
        db.create_table('usuarios_permissao', (
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
            ('nome', self.gf('django.db.models.fields.CharField')(max_length=255)),
            ('expressao', self.gf('django.db.models.fields.CharField')(max_length=255)),
        ))
        db.send_create_signal('usuarios', ['Permissao'])


    def backwards(self, orm):
        
        # Deleting model 'Usuario'
        db.delete_table('usuarios_usuario')

        # Removing M2M table for field permissoes on 'Usuario'
        db.delete_table('usuarios_usuario_permissoes')

        # Deleting model 'Grupo'
        db.delete_table('usuarios_grupo')

        # Removing M2M table for field permissoes on 'Grupo'
        db.delete_table('usuarios_grupo_permissoes')

        # Deleting model 'Permissao'
        db.delete_table('usuarios_permissao')


    models = {
        'usuarios.grupo': {
            'Meta': {'object_name': 'Grupo'},
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
            'nome': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
            'permissoes': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['usuarios.Permissao']", 'symmetrical': 'False'}),
            'user_responsavel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['usuarios.Usuario']"})
        },
        'usuarios.permissao': {
            'Meta': {'object_name': 'Permissao'},
            'expressao': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
            'nome': ('django.db.models.fields.CharField', [], {'max_length': '255'})
        },
        'usuarios.usuario': {
            'Meta': {'object_name': 'Usuario'},
            'ativo': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
            'data_criacao': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
            'grupo': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['usuarios.Grupo']", 'null': 'True', 'blank': 'True'}),
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
            'nome': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
            'permissoes': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['usuarios.Permissao']", 'symmetrical': 'False'}),
            'senha': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
            'superusuario': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
            'ultimo_acesso': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
            'user_responsavel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['usuarios.Usuario']"}),
            'usuario': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'})
        }
    }

    complete_apps = ['usuarios']
